The present invention relates generally to the generation of an embroidery design in a computer aided design system. Such designs involve stitching instructions that are used by automatic embroidery machines to embroider designs. In particular the invention concerns a method for generating an embroidery designs. In a second aspect the invention is a system for generating an embroidery design. In a third aspect the invention is a series of stitch commands for controlling an automatic embroidery machine so that it is able to perform the method.
Automatic embroidery machines are very well known in the embroidery industry. The primary characteristics of automatic embroidery machines, and the basic manner in which embroidery designs are defined for these prior art machines is described in the book. xe2x80x9cEmbroidery: Schiffli and Multiheadxe2x80x9d, by Coleman Schneider, 1978. International Standard Book Number 0-9601662-1-1.
An automatic embroidery machine typically operates by moving a piece of fabric or garment to be embroidered in the X and Y directions, defined according to a standard XY Cartesian coordinate system, under an embroidery needle. As the fabric is moved, the needle reciprocates up and down to penetrate the fabric at pre-defined XY locations on the fabric, forming stitches of thread in a sequence to form the embroidery design. To embroider a particular design, an automatic embroidery machine is given a series of stitch commands that define the sequence of XY movements required to form that design. The series of stitch commands used by automatic embroidery machines are generally referred to as xe2x80x9cstitch data formatxe2x80x9d, since every individual stitch location is explicitly defined.
There are many commercial systems on the market in widespread use for creating and modifying stitch designs for use by automatic embroidery machines. These xe2x80x9cDesign Systemsxe2x80x9d are typically referred to in industry as embroidery CAD (Computer Aided Design) systems xe2x80x9cPunching Systemsxe2x80x9d or xe2x80x9cDigitizing Systemsxe2x80x9d. Embroidery Design Systems in common use, typically output designs in xe2x80x9cStitch Data Formatxe2x80x9d for use on automatic embroidery machines. Most commercial Design Systems also work with xe2x80x9cOutline Data Formatxe2x80x9d, also known as xe2x80x9cCondensed Data Formatxe2x80x9d. This refers to a means of defining an embroidery design in terms of a sequence of geometric shapes to be filled with stitches, where for each shape, the stitching parameters required to calculate stitches of the desired stitch type are defined and stored with the shapes. The geometric shapes are typically defined in the form of geometric polygons, formed by straight line segments, curved line segments, or a mixture. Various forms of mathematical curves are used in industry to define shapes to be stitched, including Bezier curves, various types of spline curves, circular arcs, and the like. The stitching parameters stored with the shapes include the xe2x80x9cstitch typexe2x80x9d, the stitching calculation method to use, the stitch density or spacing, the stitch lengths, and so on. There are many different methods to fill a shape with stitches, and each has its own specific set of parameters.
In the drawings that follow, a convention has been adopted to represent needle penetration points as dots 1, and stitches as straight lines 2 that interconnect the dots.
Areas which are parts of embroidery designs are typically defined as geometric outlines 3, as shown for example in FIG. 1a. Prior art embroidery design systems already have well known and well refined methods whereby areas to be filled with stitches can be described graphically by operators, or from pre-defined artwork such as clipart. There are existing methods for calculating curves and straight lines for these shapes, displaying them graphically or numerically, editing the shape of the areas, calculating the various stitch types, and displaying stitches and areas together or separately.
Areas are sometimes stitched xe2x80x9calong the outline of their shapexe2x80x9d, as in the case of xe2x80x9crunning stitchxe2x80x9d shown in FIG. 1b. In other cases, areas are xe2x80x9cfilledxe2x80x9d with stitches xe2x80x9cinsidexe2x80x9d the outlines of a closed shape or polygon. If the area is small enough (typically less than 127 mm across), it is typically filled with a back and forth motion across the shapes with a single stitch, referred to as xe2x80x9csatin stitchxe2x80x9d as shown in FIG. 1c: note the alternate vertical and sloping stitches.
When the areas are larger, such that it is not possible or practical for a single stitch movement to cover the distance from one side of the area to the other, or when certain artistic effects are desired inside the area, various techniques are used to calculate multiple intermediate stitch points, across the area. The most common method of this is referred to as xe2x80x98tatamixe2x80x99 stitching, or xe2x80x9cgeflechtxe2x80x9d, or xe2x80x9cstep stitchxe2x80x9d and this is illustrated in FIG. 1d. Using this technique, the intermediate stitch points going across an area are carefully calculated relative to each other so that the needle points are staggered, or offset from those on adjacent lines of stitching going across the area, to minimize the visibility of the intermediate stitch points. In this case the stitch points extend in diagonals, indicated at 4, across the lines of stitches.
Another common practice is to have the intermediate stitch points form desired visible shapes or patterns inside the area, usually for artistic reasons, see for example FIG. 1e. This example shows stitch points arranged in circular patterns 5 which are repeated across the area. The intermediate needle penetrations across the area form very visible lines, because the penetrations on adjacent lines of stitching are close together. This effect is often referred to in industry as xe2x80x9cprogram splitxe2x80x9d stitch type.
The pattern of intermediate needle penetrations in the finished embroidery is visible to the human eye in all cases, whether it is the designers intention to minimize their visibility, or to maximize the visibility. Therefore it is important to calculate the intermediate points so that there are no visual discontinuities in the visual patterns created by the intermediate stitch points.
As seen in FIGS. 1c, 1d and 1e, it is common practice is to fill areas with stitches with straight stitch lines which are parallel to each other. The lines may be vertical, but other angles are also used. For instance, the areas may be filled with straight lines of stitches where the angle of the straight lines varies smoothly across the area so that they fan out as shown in FIG. 1f. 
In all of the xe2x80x9cfillxe2x80x9d examples given above, the basic method of filling is to calculate a series of straight lines which go back and forth across the area, and then use these straight lines as either individual stitches (eg satin stitch), or to calculate intermediate stitch points along these straight lines. In all cases, careful control of the placement of the stitch lines is needed to ensure consistent density of stitch lines in the shape, and consistent visual effect of the intermediate stitches.
A typical complication for filling areas with straight line fills is illustrated in FIG. 1g and in FIG. 2. In this situation, the area has an internal and external boundary, and it is required to fill the area between the two boundaries, leaving the xe2x80x9cholexe2x80x9d 6 unstitched. The technique for doing this is referred to in the industry as xe2x80x9cComplex Fillxe2x80x9d. It is characterized by the fact that the straight stitch lines which cross the area intersect the boundary more than twice in some places (eg when thee cross the hole).
The automatic filling method for Complex Fill will be described with reference to FIG. 2. The complex shaped area 10 has a diamond shaped hole 11 in it. The shape 10 is complex because it is not possible to fill it with an uninterrudted series of straight lines of stitching. The method breaks the whole area 10 into sub-areas which are bounded by the intersection of stitch lines with the holes or with the outside boundaries. The horizontal lines 12, 13 and 14 indicate the boundaries between different sub-areas 15, 16, 17, 18, 19 and 20 of the complex fill, as shown in FIG. 2a. Then it is necessary to calculate stitching for each sub-area, and sequence the sub-areas carefully. When travelling between the sub-areas, or segments, it is necessary to ensure they all join together properly. If intermediate stitch points are required along the straight lines, these must be calculated so that the visual pattern created by the intermediate stitch points is consistent across the entire area. That is, the pattern of needle penetrations inside the area must match between sub-areas, so no discontinuities are visible. If not, the visual artistic effect of the embroidery stitching is poor and customers would reject the design. FIG. 2b shows the area after it has been filled, and FIG. 2c shows the area partly filled, in this condition sub-areas 15, 16, 17 and 19 have been filled.
Embroidery designers often would like to fill some areas with curved lines of stitching instead of straight lines of stitching. Curved lines of stitching can give very good, artistic effects to the look of the embroidery, creating a 3-dimensional like effect, or giving a more life-like feel to the embroidery, for example, when stitching an area which represents a real 3-dimensional object. However, while existing embroidery design systems can calculate stitching along individual curved lines, that is outlines, quite well, they cannot do a good job in automatically filling areas with a series of automatically calculated curved lines. As a result embroidery designers can""t use curved lines to fill in areas very much.
Some known systems have a simple capability of curved stitching, often referred to as xe2x80x9ccontour stitchingxe2x80x9d or xe2x80x9cpipingxe2x80x9d, or the like. But this technique has several very serious limitations, which restricts its use to a small number of special cases.
A example of this prior art xe2x80x9ccontour stitchingxe2x80x9d is shown in FIG. 1h. In Contour stitching the stitching does not jump back and forth across the xe2x80x9cwidthxe2x80x9d of the area with straight lines, but rather follows the edge or contour of the shape along the xe2x80x9clengthxe2x80x9d of the shape. The number of contour lines to fill the area is determined typically by dividing the widest part of the area by the user specified density or stitch spacing (distance between adjacent stitch lines). There are many limitations to this type of stitching: The stitch density between adjacent lines of stitching varies greatly across the shape because the same number of stitch lines are used in wide areas and narrow areas. Variations of +/xe2x88x9210% are generally acceptable, but greater variations are not normally acceptable. The narrow parts have too many stitches, see the narrow end 7, which cause thread breaks and production problems, it takes much longer to stitch because of the additional stitches and the look of the finished embroidery is uneven. The visual pattern of intermediate stitch points often has noticeable discontinuities 8 in it resulting in an uneven visual effect, and is seen as undesirable, poor quality embroider. Because the lines are not straight in Contour stitching, the placement of the intermediate stitch points along a line are determined largely by the shape of the area being filled.
Another common practice is to fill areas with lines of small repeating sequences of stitches called motifs, see 9 in FIG. 1i. This is known as xe2x80x9cmotif fillxe2x80x9d. Note that the diamonds are arranged in straight lines and form a regular pattern across the shape.
Using contour stitching, it is not possible to use stitch techniques such as xe2x80x9cprogram splitxe2x80x9d or xe2x80x9cmotif fillxe2x80x9d inside the shape, and it is not possible to have holes without stitching inside the filled shape.
Embroidery design systems have had the capability to perform automatic xe2x80x9ccomplex fillxe2x80x9d with straight line stitching techniques as early as 1989. and have been able to perform xe2x80x9ccontour typexe2x80x9d curved stitching for about as long, but it has not heretofore been possible to have curved line stitching which satisfies the conflicting requirements of consistent density, consistent visual effect of intermediate stitch points, and curved stitching lines independent of the shape to be filled.
In a first aspect, the invention is a method for generating an embroidery design in a computer aided design system, including the following steps:
(a) specifying an area in the design to be filled with stitching;
(b) specifying a stitch type of embroidery fill stitch to fill the area;
(c) specifying a stitch definition curve;
(d) calculating the positions of stitch points to fill the area, such that the stitch points extend along xe2x80x9clines of fillxe2x80x9d, each of which in order of stitching has a first edge point at one edge of the area, a series of intermediate stitch points and a second edge point at another edge of the area, and such that the intermediate stitch points extend across the lines of fill to form xe2x80x9clines of patternsxe2x80x9d made up of either individual stitch points or groups of stitch points according to the characteristics of the stitch type, and where the lines of fill and the lines of patterns are curved in dependence upon the stitch definition curve but not on the shape of the area to be filled: and
(e) recording the positions of the stitch points which extend throughout the area.
The phrase xe2x80x9clines of fillxe2x80x9d has been used to describe a series of stitch points which define a line of stitching extending across the area. The line of stitching may be a single row of stitch points, or a line of motifs.
The phrase xe2x80x9clines of patternsxe2x80x9d refers to the lines of patterns visible in the embroidery, which extend across the lines of fill. The patterns may be made by the staggering, or offsetting, of single stitch points in adjacent lines, or by staggering more complicated groups of stitch points as in xe2x80x9cprogram splitxe2x80x9d.
In this way an embroidery stitch pattern may be generated in which a selected shape, that is the shape of the area, may be filled with stitches which follow continuous curved lines which may be independent of the shape being filled, the visual effects across the lines of stitching may be continuous, and the stitch density may be maintained consistently throughout the shape within acceptable embroidery tolerances.
The outline of the shape in the pattern may be freely specified within the imagination of the user of the method. Alternatively, an outline may be chosen from an existing library.
The lines of fill may be single rows of stitch points.
The lines of patterns may be single rows of stitch points.
Where the specified area is part of a complex shape, the method includes the following additional steps:
(a) calculating the positions of stitch points to fill all the other parts of the complex shape according to the calculating step, and
(b) calculating connecting stitches between the parts: where
(c) the positions of stitch points are calculated to fill the entire complex shape, and the lines of fill and the lines of patterns extend continuously outer all parts of the complex shape.
A second stitch definition curve may be used. The second curve may be specified independently of the first. Alternatively, the second curve may be generated from the first. In this case the second curve may be offset and either translated or dilated from the first. The lines of fill and the lines of patterns may be curved in dependence upon both the stitch definition curves.
Where only a single curve is specified two stitch definition curves may be generated automatically from it for use in the calculation.
Where more than two stitch definition curves are used, pairs or adjacent stitch definition curves are used to calculate the positions of stitch points for different parts of the area.
The step of calculating the positions of stitch points to fill an area, may calculate stitch points to fill an area which is larger than and contains the area to be filled. The stitch points which fall outside the area to be filled may then be discarded, so that only the stitches inside the area to be filled are recorded.
The steps of calculating the positions of stitch points may be such that the stitch points extend along straight lines of fill, each of which in order of stitching has a first edge point at one edge of the area, a series of intermediate points and a second edge point at another edge of the area, and such that the intermediate stitch points extend across the lines fill to form straight lines of patterns made up of single stitch points or groups according to the characteristics of the stitch type. Then the positions of stitch points may be transformed such that the lines of fill and the lines of patterns become curved in dependence upon the stitch definition curve.
As a precursor there may be an initial step of transforming the outline shape of the area to be filled using a transform that converts the shape made by two stitch definition curves which are joined at either end by straight lines, into a rectangle. In this case the positions of the stitch points of the transformed outline shape are calculated. Then the positions of stitch points are transformed using the inverse transform which returns the rectangle back to the shape defined between the two stitch definition curves which are joined at either end by straight lines, and which also returns the transformed outline shape back to the outline shape.
The outline shape of the area may be converted into a series of straight line segments before transforming it.
An xe2x80x9caffine transformxe2x80x9d, or affine like transform, may be used, as described in detail later.
The fill stitching may comprise single lines of stitches or any stitch type, for instance tatami stitch type, program fill stitch type, and motif fill stitch time. They include complex stitching, with or without holes.
The advantages of the transform method of stitching include that it provides many new curved stitching variations using many existing calculation methods for straight stitching. They include both basic methods as well special effects, for many different stitch types. It is also possible to control the curvature of the stitching independently of the shape to be filled. Further, it is possible to ensure that the intermediate stitch points along lines of stitching form smooth visual patterns, without discontinuities. This is achieved where there are no discontinuities in the straight line stitches.
In a further aspect, the invention is a computer aided embroidery design system for generating the positions of stitch points for use by automatic embroidery machines to fill shaped areas in embroidery designs.
The System Including
Data input means to receive specifications for an area in the design to be filled with stitching, specifications for a stitch type of embroidery fill stitch to fill the area, and specifications for a stitch definition curve.
Computation means to calculate the positions of stitch points to fill the area, such that the stitch points extend along lines of fill, each of which in order of stitching has a first edge point at one edge of the area, a series of intermediate stitch points and a second edge point at another edge of the area, and such that the intermediate stitch points extend across the lines of fill to form lines of patterns made up of either individual stitch points or groups of stitch points according to the characteristics of the stitch type, and where the lines of fill and the lines of patterns are curved in dependence upon the stitch definition curve but not on the shape of the area to be filled.
And
Memory means to record the positions of the stitch points which extend throughout the area.
In another aspect, the invention is a series of stitch commands for controlling an automatic embroidery machine to fill a shaped area in an embroidery design. The series including:
A series of sequenced positions of stitch points to fill the area, where the stitch points extend along lines of fill, each of which in order of stitching has a first edge point at one edge of the area, a series of intermediate stitch points and a second edge point at another edge of the area, and such that the intermediate stitch points extend across the lines of fill to form lines of patterns made up of either individual stitch points or groups of stitch points according to the characteristics of the stitch type, and where the lines of fill and the lines of patterns are curved in dependence upon an extrinsically defined stitch definition curve but not on the shape of the area to be filled.
It should be realized that the designer may be human, but it is also conceivable for the design to be generated by a computer system which chooses and makes these inputs available to the invention without human operator input, provided of course that it has means to select or define shapes and the relevant stitching parameters automatically.